查看原文
其他

Python操作MongoDB数据库!

黄伟呢 数据分析与统计学之美 2023-05-04
大家好,我是黄同学🚀
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
先来看看MySQL与MongoDB 概念区别:

关于MongoDB的学习,黄同学曾经为大家写过一份文档,如下图所示。

今天的重点,就是要为大家讲述如何使用Python操作MongoDB数据库。
在正式进行增删改查之前,我们需要先获取一个叫做集合的东西,它就像是mysql数据库中的表。
# 安装该库后,这里才能导入
from pymongo import MongoClient
# 连接服务器
conn = MongoClient("localhost",27017)
# 连接数据库
db = conn.mydb
# 获取集合
collection = db.student

... 中间进行一系列操作:增删改查 ...

# 断开连接【最后一步】
conn.close()
注意:Python 中写MongoDB代码和在MongoDB客户端写的代码格式一样。
区别在于:在Python中写MongoDB代码,所有“键”都需要添加引号。

插入文档

① 一次性插入一个文档
collection.insert_one({"name": "abc","age": 19,"gender": 1,"adress": "北京","isDelete": 0})
② 一次性插入多个文档
collection.insert_many([{"name": "abc1","age": 19,"gender": 1,"adress": "北京
","isDelete": 0},{"name": "abc2","age": 19,"gender": 1,"adress": "北京","isDelete":0}])

删除文档

# 删除某条文档
collection.remove({"name": "lilei"})

# 不写条件,代表全部删除。不要轻易用
collection.remove()

修改文档

# 修改文档
collection.update({"name": "lilei"},{"$set": {"age": 25}})

查询文档

这里一共为大家列出了7条。
① 查询部分文档
res = collection.find({"age": {"$gte": 19}})
for row in res:
  print(row)
② 查询所有文档
res = collection.find()
for row in res:
  print(row)
③ 统计查询
res = collection.find().count()
print(res)
④ 根据 id 查询(这需要引入第三方库)
from bson.objectid import ObjectId
res = collection.find({"_id":ObjectId("5cc506289e1d88c95465488e")})
print(res[0])
⑤ 升序排序
res = collection.find().sort("age")
for row in res:
  print(row)
⑥ 降序排序(也需要引入第三方库)
import pymongo
res = collection.find().sort("age",pymongo.DESCENDING)
for row in res:
  print(row)
⑦ 分页查询
res = collection.find().limit(3).skip(5)
for row in res:
print(row)
点击上述公众号名片
后台回复:文档
获取mongodb原创手册

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存